package dao;

import java.util.List;

import util.Page;

import model.Power;
import model.Role;
import model.User;

public interface UserDAO {
	/**
	 * 返回所有管理员
	 * @param pageNo 本页
	 * @param pageSize 每页行数
	 * @return
	 */
	public Page<User> getAll(int pageNo,int pageSize);
	/**
	 * 返回某状态的管理员
	 * @param pageNo
	 * @param pageSize
	 * @param status
	 * @return
	 */
	public Page<User> getByStatus(int pageNo,int pageSize,boolean status);
	/**
	 * 返回某一角色的管理员
	 * @param pageNo
	 * @param pageSize
	 * @param role
	 * @return
	 */
	public Page<User> getByRole(int pageNo,int pageSize,Role role);
	/**
	 * 返回某一权限的管理员
	 * @param pageNo
	 * @param pageSize
	 * @param power
	 * @return
	 */
	public Page<User> getByPower(int pageNo,int pageSize,Power power);
	/**
	 * 添加一管理员无误返回true
	 * @param user
	 * @return
	 */
	public boolean addUser(User user);
	/**
	 * 更新某个用户
	 * @param user
	 * @return
	 */
	public boolean updateUser(User user);
	/**
	 * 根据用户名删除
	 * @param name
	 * @return
	 */
	public boolean deleteByUserName(String name);
	/**
	 * 根据用户名返回User对象
	 * @param name
	 * @return
	 */
	public User getById(String name);
	/**
	 * 根据用户名返回User分页
	 * @param name
	 * @return
	 */
	public Page<User> getByName(int pageNo, int pageSize,String name);
	/**
	 * 更新某个用户的密码
	 * @param user
	 * @return
	 */
	public boolean updateUserPassword(User user);
	
	
}
